﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BusinessLayer.Tables;
using System.Collections.Generic;

public partial class HizliPromosyon : ChildPage
{
    #region Gun Sayıları
    private void GunNumbers()
    {
        for (int i = 1; i < 32; i++)
        {
            ListItem lst = new ListItem();
            if (i < 10)
            {
                lst.Text = "0" + i.ToString();
                lst.Value = "0" + i.ToString();

            }
            else
            {
                lst.Text = i.ToString();
                lst.Value = i.ToString();

            }
            drpGun.Items.Add(lst);
        }
    }
    #endregion

    #region Fields
    Db_Musteri musteri;
    PromoHeader header;
    PromoDetails details;
    DataTable Data;

    #endregion

    #region Kayıt Tipleri
    private void DTarihKayit()
    {
        string BaslangicTarih = string.Empty;
        string bitisTarihi = string.Empty;
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;
        header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        header.OdemeTipi = 0;
        if (drpGun.SelectedIndex != -1)
            BaslangicTarih = drpGun.SelectedItem.Value + ".";
        if (drpGun.SelectedIndex != -1)
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
        BaslangicTarih += DateTime.Now.Year + " ";
        BaslangicTarih += "00:00:00";
        header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
        if (drpGun.SelectedIndex != -1)
            bitisTarihi = drpGun.SelectedItem.Value + ".";
        if (drpAylar.SelectedIndex != -1)
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
        bitisTarihi += DateTime.Now.Year + " ";
        bitisTarihi += "23:59:59";
        header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        if (txtUrunCariReyon.Text != "")
        {
            header.Adi = "Doğum Gününe Ürün Promosyonu";
            header.Cinsi = 3;
            header.PromoUrun = txtUrunCariReyon.Text;
            header.IndirimOrani = 0;
            header.Save();
        }
        else
        {
            header.Adi = "Doğum Gününe İndirim";
            if (txtIndirimOrani.Text != "")
                header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
            header.Cinsi = 0;
            header.Save();
        }
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;

        details.Kod = rndKod;
        
        Data = ProCari(drpGun.SelectedItem.Value, drpAylar.SelectedItem.Value);
        details.Tipi = 0;
        for (int i = 0; i < Data.Rows.Count; i++)
        {
            details.Satir = i;
            details.PromoKod = Data.Rows[i][0].ToString();
            details.Save();
        }
    }
    private void OgrGunuKayit()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;
        if (txtAlisVerisLimit.Text != "")
            header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        else
            header.AlisverisLimit = 0;
        header.OdemeTipi = 0;
        if (drpGun.SelectedItem.Value == "24" && drpAylar.SelectedItem.Value == "11")
        {
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        }
        else
            CrmControls.MessageBx.Show("Oğretmenler Günü Tarihini 24 Kasım Olarak Girin");
        if (txtUrunCariReyon.Text != "")
        {
            header.Adi = "Öğretmenler Gününe Ürün Promosyonu";
            header.Cinsi = 3;
            header.IndirimOrani = 0;
            header.PromoUrun = txtUrunCariReyon.Text;
            header.Save();
        }
        else
        {
            header.Adi = "Öğretmenler Gününe İndirim";
            if (txtIndirimOrani.Text != "")
                header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
            header.Cinsi = 0;
            header.Save();
        }
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;
        details.Kod = rndKod;
        Data = ProOgretmen();
        details.Tipi = 0;
        for (int i = 0; i < Data.Rows.Count; i++)
        {
            details.Satir = i;
            details.PromoKod = Data.Rows[i][0].ToString();
            details.Save();
        }
    }
    private void AnnelerGunuKayit()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;
        if (txtAlisVerisLimit.Text != "")
            header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        else
            header.AlisverisLimit = 0;
        header.OdemeTipi = 0;
        string BaslangicTarih = drpGun.SelectedItem.Value + ".";
        BaslangicTarih += drpAylar.SelectedItem.Value + ".";
        BaslangicTarih += DateTime.Now.Year + " ";
        BaslangicTarih += "00:00:00";
        header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
        string bitisTarihi = drpGun.SelectedItem.Value + ".";
        bitisTarihi += drpAylar.SelectedItem.Value + ".";
        bitisTarihi += DateTime.Now.Year + " ";
        bitisTarihi += "23:59:59";
        header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        if (txtUrunCariReyon.Text != "")
        {
            header.Adi = "Anneler Gününe Ürün Promosyonu";
            header.Cinsi = 3;
            header.IndirimOrani = 0;
            header.PromoUrun = txtUrunCariReyon.Text;
            header.Save();
        }
        else
        {
            header.Adi = "Anneler Gününe İndirim";
            if (txtIndirimOrani.Text != "")
                header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
            header.Cinsi = 0;
            header.Save();
        }
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;
        details.Kod = rndKod;
        Data = AllCari();
        details.Tipi = 0;
        for (int i = 0; i < Data.Rows.Count; i++)
        {
            details.Satir = i;
            details.PromoKod = Data.Rows[i][0].ToString();
            details.Save();
        }
    }
    private void BabalarGunuKayit()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;

        if (txtAlisVerisLimit.Text != "")
            header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        else
            header.AlisverisLimit = 0;
        header.OdemeTipi = 0;
        string BaslangicTarih = drpGun.SelectedItem.Value + ".";
        BaslangicTarih += drpAylar.SelectedItem.Value + ".";
        BaslangicTarih += DateTime.Now.Year + " ";
        BaslangicTarih += "00:00:00";
        header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
        string bitisTarihi = drpGun.SelectedItem.Value + ".";
        bitisTarihi += drpAylar.SelectedItem.Value + ".";
        bitisTarihi += DateTime.Now.Year + " ";
        bitisTarihi += "23:59:59";
        header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        if (txtUrunCariReyon.Text != "")
        {
            header.Adi = "Babalar Gününe Ürün Promosyonu";
            header.Cinsi = 3;
            header.IndirimOrani = 0;
            header.PromoUrun = txtUrunCariReyon.Text;
            header.Save();
        }
        else
        {
            header.Adi = "Babalar Gününe İndirim";
            if (txtIndirimOrani.Text != "")
                header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
            header.Cinsi = 0;
            header.Save();
        }
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;
        details.Kod = rndKod;
        Data = AllCari();
        details.Tipi = 0;
        for (int i = 0; i < Data.Rows.Count; i++)
        {
            details.Satir = i;
            details.PromoKod = Data.Rows[i][0].ToString();
            details.Save();
        }
    }
    private void SevgililerGunuKayit()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;
        if (txtAlisVerisLimit.Text != "")
            header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        else
            header.AlisverisLimit = 0;
        header.OdemeTipi = 0;
        string BaslangicTarih = drpGun.SelectedItem.Value + ".";
        BaslangicTarih += drpAylar.SelectedItem.Value + ".";
        BaslangicTarih += DateTime.Now.Year + " ";
        BaslangicTarih += "00:00:00";
        header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
        string bitisTarihi = drpGun.SelectedItem.Value + ".";
        bitisTarihi += drpAylar.SelectedItem.Value + ".";
        bitisTarihi += DateTime.Now.Year + " ";
        bitisTarihi += "23:59:59";
        header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        if (txtUrunCariReyon.Text != "")
        {
            header.Adi = "Sevgililer Gününe Ürün Promosyonu";
            header.Cinsi = 3;
            header.IndirimOrani = 0;
            header.PromoUrun = txtUrunCariReyon.Text;
            header.Save();
        }
        else
        {
            header.Adi = "Sevgililer Gününe İndirim";
            if (txtIndirimOrani.Text != "")
                header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
            header.Cinsi = 0;
            header.Save();
        }
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;
        details.Kod = rndKod;
        Data = AllCari();
        details.Tipi = 0;
        for (int i = 0; i < Data.Rows.Count; i++)
        {
            details.Satir = i;
            details.PromoKod = Data.Rows[i][0].ToString();
            details.Save();
        }
    }
    private void YilbasiKaydi()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;
        if (txtAlisVerisLimit.Text != "")
            header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        else
            header.AlisverisLimit = 0;
        header.OdemeTipi = 0;
        string BaslangicTarih = drpGun.SelectedItem.Value + ".";
        BaslangicTarih += drpAylar.SelectedItem.Value + ".";
        BaslangicTarih += DateTime.Now.Year + " ";
        BaslangicTarih += "00:00:00";
        header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
        string bitisTarihi = drpGun.SelectedItem.Value + ".";
        bitisTarihi += drpAylar.SelectedItem.Value + ".";
        bitisTarihi += DateTime.Now.Year + " ";
        bitisTarihi += "23:59:59";
        header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        if (txtUrunCariReyon.Text != "")
        {
            header.Adi = "Yılbaşı Gününe Ürün Promosyonu";
            header.Cinsi = 3;
            header.IndirimOrani = 0;
            header.PromoUrun = txtUrunCariReyon.Text;
            header.Save();
        }
        else
        {
            header.Adi = "Yılbaşı Gününe İndirim";
            if (txtIndirimOrani.Text != "")
                header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
            header.Cinsi = 0;
            header.Save();
        }
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;
        details.Kod = rndKod;
        Data = AllCari();
        details.Tipi = 0;
        for (int i = 0; i < Data.Rows.Count; i++)
        {
            details.Satir = i;
            details.PromoKod = Data.Rows[i][0].ToString();
            details.Save();
        }
    }
    private void SiteMahalleKaydi()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        header.Create_Date = DateTime.Now;
        header.Create_User = 1;
        header.Hidden = true;
        header.Locked = true;
        header.Update_Date = DateTime.Now;
        header.Update_User = 1;
        string rndKod = RandomProKod();
        header.Kod = rndKod;
        header.Tip = 1;
        if (txtAlisVerisLimit.Text != "")
            header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
        else
            header.AlisverisLimit = 0;
        header.OdemeTipi = 0;
        string BaslangicTarih = drpGun.SelectedItem.Value + ".";
        BaslangicTarih += drpAylar.SelectedItem.Value + ".";
        BaslangicTarih += DateTime.Now.Year + " ";
        if (txtBaslangicSaat.Text != "")
            BaslangicTarih += txtBaslangicSaat.Text;
        else
            BaslangicTarih += "00:00:00";
        header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
        string bitisTarihi = drpGun.SelectedItem.Value + ".";
        bitisTarihi += drpAylar.SelectedItem.Value + ".";
        bitisTarihi += DateTime.Now.Year + " ";
        if (txtBitisSaat.Text != "")
            bitisTarihi += txtBitisSaat.Text;
        else
            bitisTarihi += "23:59:59";
        header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
        if (txtIndirimOrani.Text != "")
            header.IndirimOrani = decimal.Parse(txtIndirimOrani.Text);
        else
            header.IndirimOrani = 0;
        header.Adi = "Site veya Mahalleye İndirim";
        header.Cinsi = 0;
        header.Save();
        details.Create_Date = DateTime.Now;
        details.Create_User = 1;
        details.Hidden = true;
        details.Locked = true;
        details.Update_Date = DateTime.Now;
        details.Update_User = 1;
        details.Kod = rndKod;
        details.Tipi = 0;
        if (txtUrunCariReyon.Text != "")
        {
            string[] cariler = txtUrunCariReyon.Text.Split(char.Parse(";"));
            for (int i = 0; i < cariler.Length; i++)
            {
                if (cariler[i].ToString() != "")
                {
                    details.Satir = i;
                    details.PromoKod = cariler[i].ToString();
                    details.Save();
                }
            }
        }
    }
    private void KdvKayit()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        List<string> Kdv1 = new List<string>();
        List<string> Kdv8 = new List<string>();
        List<string> Kdv18 = new List<string>();
        List<string> Kdv26 = new List<string>();
        if (txtUrunCariReyon.Text != "")
        {
            string[] StokKodlari = txtUrunCariReyon.Text.Split(char.Parse(";"));
            string stok = "";
            for (int i = 0; i < StokKodlari.Length; i++)
            {
                stok += "N'" + StokKodlari[i] + "',";
            }
            stok = stok.Remove(stok.Length - 1, 1);
            Data = details.GetAllRecord_Datatable2("SELECT TBL_0_STOK.stok_kodu,TBL_0_VERGI.vergi_oran FROM TBL_0_STOK INNER JOIN TBL_0_VERGI ON TBL_0_STOK.stok_per_satis_kdv = TBL_0_VERGI.vergi_id WHERE (TBL_0_VERGI.vergi_oran > 0) AND (TBL_0_STOK.stok_kodu IN (" + stok + ")) ORDER BY TBL_0_VERGI.vergi_oran");
            if (Data.Rows.Count > 0)
            {
                for (int kdv = 0; kdv < Data.Rows.Count; kdv++)
                {
                    switch (Data.Rows[kdv][1].ToString())
                    {
                        case "1":
                            Kdv1.Add(Data.Rows[kdv][0].ToString());
                            break;
                        case "8":
                            Kdv8.Add(Data.Rows[kdv][0].ToString());
                            break;
                        case "18":
                            Kdv18.Add(Data.Rows[kdv][0].ToString());
                            break;
                        case "26":
                            Kdv26.Add(Data.Rows[kdv][0].ToString());
                            break;
                    }
                }
            }
        }
        if (Kdv1.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            header.Tip = 1;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Bizden %1 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 1;
            header.Save();
            for (int kdv1indirim = 0; kdv1indirim < Kdv1.Count; kdv1indirim++)
            {
                details.Satir = kdv1indirim;
                details.PromoKod = Kdv1[kdv1indirim].ToString();
                details.Save();
            }
        }
        if (Kdv8.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            header.Tip = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Bizden %8 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 8;
            header.Save();
            for (int kdv8indirim = 0; kdv8indirim < Kdv8.Count; kdv8indirim++)
            {
                details.Satir = kdv8indirim;
                details.PromoKod = Kdv8[kdv8indirim].ToString();
                details.Save();
            }
        }
        if (Kdv18.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            header.Tip = 1;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Bizden %18 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 18;
            header.Save();
            for (int kdv18indirim = 0; kdv18indirim < Kdv18.Count; kdv18indirim++)
            {
                details.Satir = kdv18indirim;
                details.PromoKod = Kdv18[kdv18indirim].ToString();
                details.Save();
            }
        }
        if (Kdv26.Count > 0)
        {

            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            header.Tip = 1;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Bizden %26 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 26;
            header.Save();
            for (int kdv26indirim = 0; kdv26indirim < Kdv26.Count; kdv26indirim++)
            {
                details.Satir = kdv26indirim;
                details.PromoKod = Kdv26[kdv26indirim].ToString();
                details.Save();
            }
        }
    }
    private void KdvYuzdeKayit()
    {
        header = new PromoHeader();
        details = new PromoDetails();
        List<string> Kdv1 = new List<string>();
        List<string> Kdv8 = new List<string>();
        List<string> Kdv18 = new List<string>();
        List<string> Kdv26 = new List<string>();
        if (txtAlisVerisLimit.Text != "")
        {
            string[] StokKodlari = txtUrunCariReyon.Text.Split(char.Parse(";"));
            string kodlar = string.Empty;
            for (int stkKod = 0; stkKod < StokKodlari.Length; stkKod++)
            {
                kodlar += "N'" + StokKodlari[stkKod].ToString() + "',";
            }
            kodlar = kodlar.Remove(kodlar.Length - 1, 1);
            Data = details.GetAllRecord_Datatable2("SELECT TBL_0_STOK.stok_kodu, CAST(CAST(TBL_0_VERGI.vergi_oran AS decimal) / 2 AS decimal(16, 2)) AS vergi_orani FROM  TBL_0_STOK INNER JOIN                       TBL_0_VERGI ON TBL_0_STOK.stok_per_satis_kdv = TBL_0_VERGI.vergi_id WHERE (TBL_0_VERGI.vergi_oran > 0) AND (TBL_0_STOK.stok_kodu IN (" + kodlar + ")) ORDER BY TBL_0_VERGI.vergi_oran");
            if (Data.Rows.Count > 0)
            {
                for (int i = 0; i < Data.Rows.Count; i++)
                {
                    switch (Data.Rows[i][1].ToString())
                    {
                        case "0,50":
                            Kdv1.Add(Data.Rows[i][0].ToString());
                            break;
                        case "4,00":
                            Kdv8.Add(Data.Rows[i][0].ToString());
                            break;
                        case "9,00":
                            Kdv18.Add(Data.Rows[i][0].ToString());
                            break;
                        case "13,00":
                            Kdv26.Add(Data.Rows[i][0].ToString());
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        if (Kdv1.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            header.Tip = 1;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Yarısı Bizden %1 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 0.50m;
            header.Save();
            for (int kdv1indirim = 0; kdv1indirim < Kdv1.Count; kdv1indirim++)
            {
                details.Satir = kdv1indirim;
                details.PromoKod = Kdv1[kdv1indirim].ToString();
                details.Save();
            }
        }
        if (Kdv8.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            header.Tip = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Yarısı Bizden %8 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 4.00m;
            header.Save();
            for (int kdv8indirim = 0; kdv8indirim < Kdv8.Count; kdv8indirim++)
            {
                details.Satir = kdv8indirim;
                details.PromoKod = Kdv8[kdv8indirim].ToString();
                details.Save();
            }
        }
        if (Kdv18.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            header.Tip = 1;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Yarısı Bizden %18 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 9.00m;
            header.Save();
            for (int kdv18indirim = 0; kdv18indirim < Kdv18.Count; kdv18indirim++)
            {
                details.Satir = kdv18indirim;
                details.PromoKod = Kdv18[kdv18indirim].ToString();
                details.Save();
            }
        }
        if (Kdv26.Count > 0)
        {
            header.Create_Date = DateTime.Now;
            header.Create_User = 1;
            header.Hidden = true;
            header.Locked = true;
            header.Update_Date = DateTime.Now;
            header.Update_User = 1;
            string rndKod = RandomProKod();
            header.Kod = rndKod;
            header.Tip = 1;
            if (txtAlisVerisLimit.Text != "")
                header.AlisverisLimit = decimal.Parse(txtAlisVerisLimit.Text);
            else
                header.AlisverisLimit = 0;
            header.OdemeTipi = 0;
            string BaslangicTarih = drpGun.SelectedItem.Value + ".";
            BaslangicTarih += drpAylar.SelectedItem.Value + ".";
            BaslangicTarih += DateTime.Now.Year + " ";
            if (txtBaslangicSaat.Text != "")
                BaslangicTarih += txtBaslangicSaat.Text;
            else
                BaslangicTarih += "00:00:00";
            header.BaslangicTarihi = Convert.ToDateTime(BaslangicTarih);
            string bitisTarihi = drpGun.SelectedItem.Value + ".";
            bitisTarihi += drpAylar.SelectedItem.Value + ".";
            bitisTarihi += DateTime.Now.Year + " ";
            if (txtBitisSaat.Text != "")
                bitisTarihi += txtBitisSaat.Text;
            else
                bitisTarihi += "23:59:59";
            header.BitisTarihi = Convert.ToDateTime(bitisTarihi);
            header.Adi = "Kdv Yarısı Bizden %26 İndirim";
            header.Cinsi = 0;
            details.Create_Date = DateTime.Now;
            details.Create_User = 1;
            details.Hidden = true;
            details.Locked = true;
            details.Update_Date = DateTime.Now;
            details.Update_User = 1;
            details.Kod = rndKod;
            details.Tipi = 1;
            header.IndirimOrani = 13.00m;
            header.Save();
            for (int kdv26indirim = 0; kdv26indirim < Kdv26.Count; kdv26indirim++)
            {
                details.Satir = kdv26indirim;
                details.PromoKod = Kdv26[kdv26indirim].ToString();
                details.Save();
            }
        }

    }
    #endregion

    #region Function
    private DataTable ProCari(string day, string ay)
    {
        if (day != "" && ay != "")
        {
            musteri = new Db_Musteri();
            Data = musteri.GetAllRecord_Datatable2("SELECT musteri_kod, musteri_adi FROM TBL_0_MUSTERI WHERE (DATEPART(mm, dogum_tarihi) = '" + ay + "') AND (DATEPART(dd, dogum_tarihi) = '" + day + "')");
        }
        return Data;
    }

    private DataTable ProOgretmen()
    {
        musteri = new Db_Musteri();
        Data = musteri.GetAllRecord_Datatable2("SELECT musteri_kod, musteri_adi FROM TBL_0_MUSTERI WHERE (meslek = 6)");
        return Data;
    }

    private DataTable AllCari()
    {
        musteri = new Db_Musteri();
        return musteri.GetAllRecord_Datatable2("SELECT musteri_kod, musteri_adi FROM TBL_0_MUSTERI ORDER BY musteri_kod");
    }

    private string RandomProKod()
    {
        header = new PromoHeader();
        string donen = string.Empty;
        DataTable dt = header.GetAllRecord_Datatable2("SELECT TOP 1 CAST(SUBSTRING(proh_kod,2,50) AS INT)  FROM PROMOHEADER WHERE (proh_kod LIKE N'P%') ORDER BY CAST(SUBSTRING(proh_kod,2,50) AS INT) DESC");
        if (dt.Rows.Count > 0)
        {
            int rndKod = Convert.ToInt32(dt.Rows[0][0].ToString());
            rndKod += 1;
            donen = "P" + rndKod.ToString();
        }
        else
        {
            donen = "P1";
        }
        return donen;
    }

    private void CreateArea()
    {
        foreach (Control c in form1.Controls)
        {
            if (c is CrmControls.CrmTextBox)
            {
                CrmControls.CrmTextBox textbox = c as CrmControls.CrmTextBox;
                textbox.Text = "";
            }
            if (c is CrmControls.CrmDropDown)
            {
                CrmControls.CrmDropDown drop = c as CrmControls.CrmDropDown;
                if (drop.SelectedIndex != -1)
                    drop.SelectedIndex = 0;
            }
        }
    }

    private int TarihBul(int No)
    {
        int donen = 0;
        DateTime Tarih;
        int counter = 0;
        int ayEkle = 1;
        switch (No)
        {
            case 1:
                Tarih = new DateTime(DateTime.Now.Year, 5, 1);
                for (double i = 1; i < 32; i++)
                {
                    if (Tarih.DayOfWeek == DayOfWeek.Sunday)
                    {
                        counter += 1;
                        if (counter == 2)
                        {
                            donen = Tarih.Day;
                            break;
                        }
                    }
                    Tarih = Tarih.AddDays(ayEkle);
                }
                break;
            case 2:
                Tarih = new DateTime(DateTime.Now.Year, 6, 1);
                for (double bi = 1; bi < 31; bi++)
                {
                    if (Tarih.DayOfWeek == DayOfWeek.Sunday)
                    {
                        counter += 1;
                        if (counter == 3)
                        {
                            donen = Tarih.Day;
                            break;
                        }
                    }
                    Tarih = Tarih.AddDays(ayEkle);
                }
                break;
            case 3:
                Tarih = new DateTime(DateTime.Now.Year, 12, 1);
                donen = Tarih.AddMonths(1).AddDays(-1).Day;
                break;
        }
        return donen;

    }

    #endregion

    #region AttributeAdd
    private void AttributeAdd(int gelen)
    {
        switch (gelen)
        {
            case 1:
                imgEkle.Attributes.Add("onclick", "openpage('check=true&HProStok=true&ctrl=" + txtUrunCariReyon.ID + "');");
                break;
            case 2:
                imgEkle.Attributes.Add("onclick", "openpage('check=true&HProCariAdres=true&ctrl=" + txtUrunCariReyon.ID + "');");
                break;
            case 3:
                imgEkle.Attributes.Add("onclick", "openpage('check=true&HProKdv=true&ctrl=" + txtUrunCariReyon.ID + "');");
                break;
        }
    }
    #endregion

    protected override void OnInitComplete(EventArgs e)
    {
        GunNumbers();
        base.OnInitComplete(e);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        txtBaslangicSaat.Attributes.Add("onkeyup", "BslSaat();");
        txtBitisSaat.Attributes.Add("onkeyup", "BtsSaat();");
        switch (drpPromosyonTip.SelectedItem.Value)
        {
            case "1":
                AttributeAdd(1);
                break;
            case "2":
                AttributeAdd(3);
                txtIndirimOrani.Enabled = false;
                lblIndirimOrani.Enabled = false;
                break;
            case "3":
                AttributeAdd(3);
                txtIndirimOrani.Enabled = false;
                lblIndirimOrani.Enabled = false;
                break;
            case "4":
                drpGun.SelectedIndex = TarihBul(1) - 1;
                drpAylar.SelectedIndex = 4;
                AttributeAdd(1);
                txtIndirimOrani.Enabled = true;
                lblIndirimOrani.Enabled = true;
                break;
            case "5":
                drpGun.SelectedIndex = TarihBul(2) - 1;
                drpAylar.SelectedIndex = 5;
                AttributeAdd(1);
                txtIndirimOrani.Enabled = true;
                lblIndirimOrani.Enabled = true;
                break;
            case "6":
                drpAylar.SelectedIndex = 10;
                drpGun.SelectedIndex = 23;
                AttributeAdd(1);
                txtIndirimOrani.Enabled = true;
                lblIndirimOrani.Enabled = true;
                break;
            case "7":
                drpAylar.SelectedIndex = 1;
                drpGun.SelectedIndex = 13;
                AttributeAdd(1);
                txtIndirimOrani.Enabled = true;
                lblIndirimOrani.Enabled = true;
                break;
            case "8":
                drpGun.SelectedIndex = TarihBul(3) - 1;
                drpAylar.SelectedIndex = 11;
                AttributeAdd(1);
                txtIndirimOrani.Enabled = true;
                lblIndirimOrani.Enabled = true;
                break;
            case "9":
                AttributeAdd(2);
                txtIndirimOrani.Enabled = true;
                lblIndirimOrani.Enabled = true;
                break;
            default:
                break;
        }
    }

    protected void imgbtnKaydet_Click(object sender, ImageClickEventArgs e)
    {
        switch (drpPromosyonTip.SelectedItem.Value)
        {
            case "1":
                DTarihKayit();
                break;
            case "2":
                KdvKayit();
                break;
            case "3":
                KdvYuzdeKayit();
                break;
            case "4":
                AnnelerGunuKayit();
                break;
            case "5":
                BabalarGunuKayit();
                break;
            case "6":
                OgrGunuKayit();
                break;
            case "7":
                SevgililerGunuKayit();
                break;
            case "8":
                YilbasiKaydi();
                break;
            case "9":
                SiteMahalleKaydi();
                break;
        }
        CreateArea();
        this.ClientScript.RegisterStartupScript(typeof(Page), "Yenile", "Refresh()", true);

    }

    protected void imgbtnKaydetKapat_Click(object sender, ImageClickEventArgs e)
    {
        switch (drpPromosyonTip.SelectedItem.Value)
        {
            case "1":
                DTarihKayit();
                break;
            case "2":
                KdvKayit();
                break;
            case "3":
                KdvYuzdeKayit();
                break;
            case "4":
                AnnelerGunuKayit();
                break;
            case "5":
                BabalarGunuKayit();
                break;
            case "6":
                OgrGunuKayit();
                break;
            case "7":
                SevgililerGunuKayit();
                break;
            case "8":
                YilbasiKaydi();
                break;
            case "9":
                SiteMahalleKaydi();
                break;
        }
        CreateArea();
        this.ClientScript.RegisterStartupScript(typeof(Page), "Close", "PageClose();", true);
    }

    protected void imgbtnSil_Click(object sender, ImageClickEventArgs e)
    {
        this.ClientScript.RegisterStartupScript(typeof(Page), "Yenile2", "Refresh();", true);
    }

    protected void imgNewREcord_Click(object sender, ImageClickEventArgs e)
    {
        CreateArea();
    }

}
